package com.clw.template.system;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 系统配置
 */
@Data
public class SystemMonitor {

    @ApiModelProperty("cpu处理器个数")
    private int availableProcessors;

    @ApiModelProperty("用户使用率")
    private double systemCpuLoad;

    @ApiModelProperty("系统使用率")
    private double sysCpuLoad;

    @ApiModelProperty("当前空闲率")
    private double freeCpuLoad;

    @ApiModelProperty("总内存")
    private double totalPhysicalMemorySize;

    @ApiModelProperty("已用内存")
    private double usingPhysicalMemorySize;

    @ApiModelProperty("剩余内存")
    private double freePhysicalMemorySize;

    @ApiModelProperty("内存使用率")
    private double memoryUsageRate;

    @ApiModelProperty("jvm总内存")
    private double jvmTotalMemory;

    @ApiModelProperty("已用内存")
    private double jvmUsingMemory;

    @ApiModelProperty("jvm剩余内存")
    private double jvmFreeMemory;

    @ApiModelProperty("jvm内存使用率")
    private double jvmUsageRate;

    @ApiModelProperty("Jvm名称")
    private String jvmName;

    @ApiModelProperty("Java版本")
    private String javaVersion;

    @ApiModelProperty("启动时间")
    private long startTime;

    @ApiModelProperty("运行时长")
    private long startDate;

    @ApiModelProperty("安装路径")
    private String jvmPath;

    @ApiModelProperty("项目路径")
    private String projectPath;

    @ApiModelProperty("服务器名称")
    private String serverName;

    @ApiModelProperty("操作系统")
    private String serverSystem;

     @ApiModelProperty("服务器IP")
    private String serverAddress;

    @ApiModelProperty("系统架构")
    private String serverArch;

    @ApiModelProperty("磁盘信息")
    List<Map<String, String>> info;

}
